
import config
from KNN_LCS import KNN_LCS
import numpy as np
from Trace import Trace
from EventTrace import EventTrace

class HP_KNN_LCS:

    @staticmethod
    def traceToInstance( trace ):

        instance = []

        if isinstance(trace, Trace): # if pcap files, get packet lengths
            if trace.getPacketCount()==0:
                instance.append(0)
                instance.append('webpage'+str(trace.getId()))
                return instance
            for packet in trace.getPackets():
                instance.append(packet.getLength())

        elif isinstance(trace, EventTrace): # if sysdig (scap files), get syscalls
            if trace.getEventCount() == 0:
                instance.append(0)
                instance.append('webpage'+str(trace.getId()))
                return instance
            for event in trace.getEvents():
                # IO
                #if event.getSystemcallIndex() == 0 or event.getSystemcallIndex() == 1: # commented as done in reading sysdig file
                instance.append(event.getSystemcallIndex())

        # Label
        instance.append('webpage'+str(trace.getId()))

        return instance


    @staticmethod
    def classify( runID, trainingSet, testingSet ):

        #testing
        #print trainingSet
        #print "\n"
        #print testingSet

        Xtrain = []
        Ytrain = []
        for instance in trainingSet:
            Xtrain.append(instance[:-1])
            Ytrain.append(instance[-1]) # label

        Xtest = []
        Ytest = []
        for instance in testingSet:
            Xtest.append(instance[:-1])
            Ytest.append(instance[-1]) # label


        knn_lcs_obj = KNN_LCS(Xtrain, Xtest, Ytrain, Ytest, neighbors=config.NUM_NEIGHBORS)


        [accuracy,debugInfo] = knn_lcs_obj.getAccuracyDebugInfo()

        return [accuracy,debugInfo]
'''
Xtrain = np.array([[1,2,6,5,4,8], [2,1,6,5,4,4], [2,1,6,5], [2,1,6,5,4,4,7,6], [2,1,6,5,4],[2,3,6,5,4,4]])
Xtest = np.array([[2,1,6,5,4,4],[2,1,6,5,4]])
#Ytrain =  np.array([[0], [0], [0], [1], [1], [1]])
#Ytrain =  [0, 0, 0, 1, 1, 1]
Ytrain =  ['webpage0', 'webpage0', 'webpage0', 'webpage1', 'webpage1', 'webpage1']
#Ytest =  np.array([[1], [0]])
Ytest =  ['webpage0', 'webpage0']
knn_lcs_obj = KNN_LCS(Xtrain, Xtest, Ytrain, Ytest, neighbors=3)

#knn_lcs_obj.calcHP_KNN_LCS()
print knn_lcs_obj.getAccuracyDebugInfo()



Xtrain = np.array([ [148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 100, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 788, 100, 100, 1500, 484, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 580, 1300, 500, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 1500, 100, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 1500, 1500, 1500, 1500, 260, 1500, 1500, 1500, 1500, 1500, 252, 884, 532, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 100, 1500, 1500, 1500, 884, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 1500, 1500, 1500, 252, 1500, 92, 1500, 1500, 1364, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 92, 1268, 516, 1012, 148, 100, 948, 1500, 92, 1500, 1500, 692, 500, 1500, 92, 1500, 636, 100, 1076, 676, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 1500, 140, 1500, 1500, 1500, 876, 1500, 1500, 1500, 1500, 212, 1500, 252, 100, 564, 196, 148, 84, 100, 148, 100, 1500, 508, 84, 1500, 972, 1012, 1492, 548, 388, 628, 580, 1028, 84, 1500, 1500, 692, 1500, 572, 1500, 1500, 180, 1156, 500, 1500, 148, 380, 100, 1124, 116, 148, 1500, 92, 1500, 1500, 1500, 1404, 340, 1500, 1500, 292, 148, 1380, 100, 1108, 484, 148, 84, 100, 1460, 84, 148, 1500, 908, 532, 1500, 524, 836, 100, 580, 84, 148, 100, 148, 100, 148, 100, 1500, 1180, 148, 116, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 908, 1500, 1500, 100, 1500, 700, 1500, 1500, 212, 1500, 108, 148, 1500, 108, 1500, 1500, 1500, 220, 1500, 1500, 164, 596, 596, 148, 100, 1500, 156, 148, 196, 612, 148, 788, 132, 1500, 1500, 468, 84, 148, 148, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1388, 452, 1460, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 956, 100, 1500, 92, 980, 516, 1076, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 892, 516, 484, 1500, 1500, 676, 644, 116, 580, 84, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 92, 1500, 1180, 948, 468, 500, 1236, 500, 1284, 1500, 1084, 500, 1500, 500, 92, 1500, 1388, 964, 1500, 92, 1500, 1500, 1500, 796, 964, 1500, 92, 1500, 1500, 1500, 1500, 1500, 92, 1124, 1500, 92, 1500, 1148, 100, 1500, 1028, 92, 1500, 1500, 1108, 500, 772, 500, 980, 1500, 92, 1500, 1500, 1500, 172, 516, 660, 484, 388, 500, 1500, 92, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 388, 1500, 1500, 132, 500, 420, 500, 756, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 140, 100, 1500, 1500, 1500, 172, 948, 772, 532, 772, 1500, 1500, 276, 500, 1500, 1500, 100, 628, 500, 1500, 500, 92, 1500, 828, 532, 1500, 92, 1500, 1500, 84, 484, 756, 548, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 836, 1500, 268, 980, 388, 1500, 364, 500, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 140, 1500, 1436, 1500, 492, 548, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 140, 1500, 1500, 452, 148, 100, 532, 820, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 580, 1500, 92, 1500, 1500, 1476, 148, 100, 596, 1028, 84, 84, 148, 84, 84, 100, 580, 804, 148, 84, 100, 148, 100, 1108, 84, 1396, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1140, 1500, 92, 1500, 1308, 1500, 92, 1500, 940, 596, 1500, 596, 92, 1500, 1500, 1500, 156, 596, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 84, 148, 100, 148, 100, 1092, 340, 1500, 1500, 740, 180, 116, 148, 100, 564, 340, 164, 500, 84, 1332]
 ,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 1500, 1500, 220, 1500, 92, 1500, 1500, 1364, 148, 100, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 420, 484, 1500, 1500, 1500, 1500, 1412, 1500, 1500, 1500, 140, 100, 1268, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 1364, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 692, 500, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 844, 1500, 100, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1404, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 172, 1500, 652, 468, 1500, 92, 1268, 516, 1012, 148, 100, 948, 1500, 92, 1500, 1500, 692, 500, 1500, 92, 1500, 636, 148, 100, 1476, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 100, 1500, 1500, 1500, 180, 1500, 1500, 1500, 876, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 180, 1500, 700, 964, 1332, 532, 1316, 596, 84, 148, 1492, 100, 148, 100, 1500, 988, 148, 1500, 92, 1500, 1500, 1500, 1356, 1500, 1500, 180, 1252, 148, 100, 996, 484, 148, 84, 1500, 1500, 148, 1500, 380, 1380, 1172, 100, 148, 100, 1428, 1500, 148, 92, 1500, 1500, 596, 1500, 556, 148, 100, 1500, 716, 148, 180, 1500, 1388, 1500, 1500, 564, 1500, 108, 1500, 60, 100, 1500, 172, 148, 116, 1500, 1500, 132, 1500, 1500, 1348, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 132, 1500, 1420, 100, 148, 516, 452, 148, 100, 1500, 156, 148, 196, 564, 100, 148, 788, 132, 1500, 1436, 148, 180, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1004, 100, 1444, 1500, 92, 1500, 1500, 1500, 1100, 1500, 796, 100, 484, 516, 84, 116, 452, 1500, 1500, 1500, 1500, 1500, 1500, 916, 516, 1500, 92, 1500, 1260, 516, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1012, 148, 100, 580, 1108, 148, 84, 1500, 1500, 164, 1500, 108, 1500, 892, 1500, 172, 116, 1500, 1500, 996, 1500, 108, 948, 1500, 940, 1236, 100, 980, 948, 1500, 92, 1500, 860, 964, 1500, 92, 1500, 1500, 1396, 1236, 948, 1500, 92, 1500, 1500, 884, 1500, 204, 980, 1500, 92, 1500, 1500, 1500, 1500, 1500, 684, 964, 772, 148, 1060, 100, 1500, 60, 980, 1500, 1500, 132, 1500, 1500, 612, 932, 388, 500, 388, 500, 420, 500, 756, 500, 772, 532, 772, 500, 1500, 92, 1500, 236, 1500, 1500, 660, 516, 1500, 500, 92, 1500, 924, 484, 1500, 92, 1500, 1500, 84, 548, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 388, 148, 100, 1500, 60, 884, 500, 388, 500, 1500, 364, 532, 148, 868, 1076, 420, 148, 100, 148, 100, 1500, 540, 1500, 492, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 92, 1500, 92, 1500, 1436, 1500, 1500, 1500, 316, 1500, 1500, 1500, 172, 1500, 1500, 932, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1220, 116, 84, 660, 1500, 92, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 92, 100, 148, 100, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 1500, 1172, 1500, 668, 596, 1028, 84, 84, 84, 84, 148, 100, 1060, 756, 836, 116, 84, 548, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 180, 1500, 1500, 452, 148, 100, 148, 100, 1044, 724, 724, 596, 1500, 92, 1500, 1500, 692, 148, 100, 148, 100, 1140, 1500, 92, 1500, 1500, 1500, 1500, 788, 1140, 1500, 92, 1500, 1500, 1500, 156, 596, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 1500, 1500, 188, 1500, 92, 1500, 1500, 1500, 1292, 148, 100, 148, 100, 1092, 628, 1500, 1500, 420, 84, 180, 116, 148, 100, 564, 340, 164, 500, 84, 1332]
 ,[148, 100, 500, 1476, 148, 1476, 1476, 1476, 1500, 1420, 100, 484, 1500, 252, 484, 1500, 268, 148, 100, 468, 1500, 156, 468, 692, 468, 1500, 108, 1500, 1500, 1492, 148, 100, 148, 100, 916, 564, 1500, 764, 468, 1500, 484, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1100, 1500, 652, 484, 1500, 1196, 484, 1500, 484, 620, 1500, 732, 484, 1500, 484, 732, 1500, 484, 860, 484, 852, 484, 1252, 484, 1156, 484, 1380, 484, 1236, 484, 1332, 484, 1284, 484, 980, 484, 1252, 484, 1332, 484, 1492, 500, 740, 500, 1500, 92, 1500, 1500, 1428, 500, 148, 100, 500, 148, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 644, 756, 84, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 204, 100, 1284, 84, 500, 1092, 84, 84, 84, 84, 148, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 172, 1500, 604, 100, 1300, 772, 84, 84, 84, 84, 1500, 92, 1500, 92, 1500, 1500, 132, 916, 500, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 132, 1500, 876, 484, 1172, 1500, 1500, 132, 1500, 1500, 1300, 996, 1476, 1500, 556, 1500, 316, 948, 868, 1500, 332]
 ,[148, 100, 500, 1500, 1404, 1500, 1404, 148, 1500, 1276, 100, 484, 1500, 204, 484, 1500, 220, 148, 100, 468, 1500, 156, 468, 644, 468, 1500, 1500, 1500, 1452, 148, 100, 148, 100, 916, 500, 1500, 764, 468, 1500, 484, 1500, 100, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 1500, 1500, 212, 1500, 1500, 964, 1500, 652, 916, 1500, 92, 1124, 1500, 620, 916, 1500, 700, 1500, 732, 484, 1500, 812, 484, 852, 484, 1252, 484, 1156, 484, 1380, 484, 1236, 484, 1364, 148, 100, 1500, 172, 1284, 484, 980, 484, 1252, 484, 1332, 484, 1500, 108, 804, 964, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 260, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 332, 1500, 1500, 564, 1500, 1500, 212, 1500, 1500, 1500, 588, 1500, 92, 1500, 1500, 1500, 1292, 500, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 916, 500, 1500, 500, 92, 1500, 1500, 1500, 716, 1500, 1500, 132, 1500, 1500, 1364, 484, 1172, 1124, 116, 84, 148, 100, 500, 756, 148, 84, 100, 916, 84, 772, 84, 1060, 84, 1500, 1500, 452, 1500, 300, 948, 1500, 332, 772]]
)
print Xtrain
Xtest = np.array([ [148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1316, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 540, 100, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 764, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 172, 1500, 1500, 1500, 876, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1356, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 1276, 516, 1012, 148, 100, 516, 1500, 148, 92, 1500, 1500, 1500, 140, 772, 1412, 1500, 148, 92, 1500, 1500, 1500, 140, 1332, 580, 1500, 76, 84, 1500, 92, 1500, 1500, 692, 964, 820, 1500, 1500, 708, 1060, 84, 1500, 1500, 132, 1500, 1500, 1500, 1228, 1500, 92, 1500, 1500, 1500, 1500, 100, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 396, 1012, 1492, 548, 388, 628, 1060, 1500, 92, 1500, 1500, 1500, 668, 1500, 1500, 132, 100, 500, 1500, 148, 92, 1500, 172, 1500, 1500, 1156, 100, 148, 100, 1500, 60, 148, 1500, 92, 1500, 1500, 1500, 1372, 1500, 492, 100, 148, 100, 1492, 804, 148, 84, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 164, 1500, 108, 1060, 1500, 124, 116, 1500, 1388, 980, 484, 1500, 1500, 308, 1500, 1500, 660, 1028, 84, 1500, 1500, 1460, 1500, 1500, 1500, 92, 1044, 84, 1500, 1500, 132, 1500, 1500, 1500, 1420, 1500, 1500, 1500, 1500, 916, 100, 1060, 1500, 972, 1500, 1500, 1500, 1500, 884, 100, 564, 196, 148, 84, 100, 1476, 1500, 148, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 932, 1500, 1308, 452, 676, 84, 148, 100, 148, 1108, 84, 100, 148, 100, 1500, 1148, 148, 84, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1332, 100, 1500, 60, 532, 1500, 212, 1036, 164, 580, 1500, 148, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1316, 1500, 172, 116, 1500, 1500, 1316, 1500, 1500, 1500, 556, 948, 1500, 116, 940, 1500, 860, 948, 84, 1500, 1276, 1500, 1084, 964, 1500, 92, 1500, 1500, 1500, 1500, 1396, 836, 980, 1500, 92, 1500, 1388, 1500, 1500, 708, 100, 964, 884, 500, 772, 516, 980, 484, 660, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 484, 772, 1500, 1500, 132, 1500, 1500, 548, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 276, 100, 884, 532, 388, 500, 1500, 500, 364, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1484, 1500, 492, 660, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 1500, 132, 516, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 492, 1500, 1500, 164, 1500, 1500, 1364, 1500, 1500, 1500, 1500, 484, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 1044, 1500, 92, 1500, 236, 820, 148, 100, 1076, 756, 884, 116, 84, 548, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 412, 100, 148, 100, 596, 148, 1012, 132, 148, 100, 1108, 84, 148, 724, 772, 580, 804, 84, 84, 84, 84, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1076, 340, 1332, 180, 116, 148, 100, 148, 100, 1092, 628, 148, 1500, 172, 1092, 148, 100, 1268, 116, 436, 1500, 92, 1500, 1500, 1500, 1500, 756, 1140, 1500, 92, 1500, 1500, 1500, 108, 596, 1500, 92, 1500, 1500, 1500, 1420, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1300]
 ,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 132, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 188, 1500, 92, 1500, 172, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 212, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 348, 100, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 300, 148, 100, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 932, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 932, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 1500, 220, 1316, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 788, 468, 1500, 92, 1268, 516, 1012, 148, 100, 516, 1500, 516, 92, 1500, 1500, 1500, 140, 1500, 1500, 356, 1500, 92, 1500, 1500, 1500, 172, 548, 1412, 1500, 500, 1500, 692, 500, 1500, 92, 1500, 92, 1500, 684, 516, 676, 516, 1500, 92, 1500, 1500, 468, 1500, 1500, 180, 1500, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 204, 1332, 548, 1140, 532, 1140, 148, 100, 148, 100, 1500, 572, 388, 1060, 180, 116, 628, 1044, 1500, 92, 1500, 1484, 1500, 1500, 132, 100, 1500, 1500, 132, 500, 1428, 148, 1380, 1500, 428, 1396, 1500, 148, 92, 1500, 1500, 132, 1500, 1500, 356, 100, 1460, 340, 1500, 204, 116, 1500, 908, 1500, 92, 1500, 1500, 132, 532, 1500, 1500, 1500, 1500, 1500, 1500, 1316, 532, 1500, 1500, 276, 500, 1500, 580, 92, 1500, 620, 500, 84, 1500, 1500, 132, 1500, 1500, 1500, 988, 484, 1500, 548, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 100, 148, 884, 148, 100, 1492, 1500, 92, 1500, 1500, 1348, 1500, 1500, 1500, 1500, 772, 964, 1500, 108, 1500, 1500, 164, 1500, 1500, 132, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 1500, 1500, 1172, 1012, 980, 1500, 148, 92, 1500, 780, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 988, 100, 1492, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1276, 1500, 1500, 1500, 1260, 100, 196, 132, 532, 484, 148, 84, 100, 148, 100, 1500, 540, 148, 84, 1284, 148, 516, 132, 148, 100, 1500, 300, 148, 84, 1460, 148, 788, 132, 1500, 636, 148, 116, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1420, 100, 516, 1220, 1500, 796, 180, 1500, 1276, 1500, 1500, 1396, 948, 1500, 92, 1076, 1500, 1500, 1500, 924, 948, 324, 1500, 1500, 452, 1284, 964, 1500, 940, 1500, 92, 1500, 668, 980, 1060, 1500, 92, 1500, 1340, 948, 772, 516, 980, 484, 756, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 532, 772, 500, 388, 1500, 500, 364, 532, 500, 420, 500, 1500, 92, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 284, 1500, 492, 660, 1500, 92, 1500, 92, 148, 100, 564, 1500, 92, 1500, 236, 1500, 1500, 132, 1500, 92, 1500, 92, 148, 100, 580, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 132, 1500, 1500, 1500, 1452, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 132, 100, 1500, 140, 532, 404, 676, 100, 532, 1500, 1180, 148, 100, 628, 820, 852, 116, 84, 532, 756, 148, 100, 596, 1028, 548, 84, 116, 84, 148, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 404, 100, 580, 804, 84, 84, 84, 84, 436, 1332, 148, 100, 148, 100, 1044, 724, 724, 596, 1500, 92, 1500, 1500, 868, 148, 100, 148, 100, 1140, 1500, 92, 1500, 716, 1500, 1500, 1460, 596, 1500, 92, 1500, 1356, 596, 1500, 92, 1460, 596, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1228]
 ,[148, 100, 500, 1476, 1500, 1500, 1428, 148, 1476, 1396, 484, 1500, 204, 484, 1500, 220, 148, 100, 468, 1500, 124, 468, 644, 468, 1500, 108, 1500, 1500, 1412, 148, 100, 148, 100, 916, 1500, 1212, 900, 1500, 92, 1500, 1500, 1500, 1500, 724, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 924, 916, 1500, 620, 1500, 1132, 916, 1500, 92, 692, 1500, 732, 916, 1500, 812, 852, 916, 1156, 484, 1252, 484, 1380, 484, 1236, 484, 1364, 484, 1284, 484, 980, 484, 1252, 484, 1316, 1500, 108, 932, 1500, 92, 1500, 1500, 1500, 844, 980, 1500, 92, 1500, 1500, 1500, 1292, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1004, 1500, 1500, 1500, 1500, 1500, 220, 1500, 100, 1500, 1500, 748, 148, 100, 1500, 204, 148, 1500, 92, 1500, 1500, 132, 1500, 636, 1500, 1500, 1500, 1500, 1476, 100, 932, 1172, 1124, 116, 84, 148, 756, 84, 100, 916, 84, 772, 84, 1060, 84, 1500, 108, 1500, 1500, 1500, 1500, 1284, 948, 1500, 332, 772, 100]
 ,[148, 100, 500, 1476, 1500, 1500, 1380, 148, 1476, 1396, 484, 1500, 236, 484, 1500, 220, 148, 100, 468, 1500, 124, 468, 644, 468, 1500, 108, 1500, 1500, 1396, 148, 100, 148, 100, 916, 500, 1500, 764, 468, 1500, 484, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 964, 1500, 684, 916, 1500, 92, 1500, 1500, 244, 916, 1500, 732, 1500, 700, 916, 852, 1500, 860, 916, 1156, 484, 1252, 484, 1380, 484, 1236, 484, 1364, 484, 1284, 484, 980, 484, 1252, 484, 1332, 1500, 108, 932, 804, 516, 1500, 92, 1500, 1500, 1500, 108, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 276, 516, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1052, 100, 500, 148, 100, 500, 756, 1500, 1500, 164, 1500, 1500, 1268, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 500, 708, 500, 1500, 92, 1500, 1500, 1500, 668, 484, 1500, 92, 1500, 1500, 1500, 1404, 1172, 148, 100, 756, 1092, 84, 84, 148, 84, 84, 100, 852, 772, 84, 84, 84, 84, 996, 1500, 1500, 1500, 1500, 1076, 1500, 268, 948, 1500, 332, 772]]
)




Xtrain = [ [148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 100, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 788, 100, 100, 1500, 484, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 580, 1300, 500, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 1500, 100, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 1500, 1500, 1500, 1500, 260, 1500, 1500, 1500, 1500, 1500, 252, 884, 532, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 100, 1500, 1500, 1500, 884, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 1500, 1500, 1500, 252, 1500, 92, 1500, 1500, 1364, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 92, 1268, 516, 1012, 148, 100, 948, 1500, 92, 1500, 1500, 692, 500, 1500, 92, 1500, 636, 100, 1076, 676, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 1500, 140, 1500, 1500, 1500, 876, 1500, 1500, 1500, 1500, 212, 1500, 252, 100, 564, 196, 148, 84, 100, 148, 100, 1500, 508, 84, 1500, 972, 1012, 1492, 548, 388, 628, 580, 1028, 84, 1500, 1500, 692, 1500, 572, 1500, 1500, 180, 1156, 500, 1500, 148, 380, 100, 1124, 116, 148, 1500, 92, 1500, 1500, 1500, 1404, 340, 1500, 1500, 292, 148, 1380, 100, 1108, 484, 148, 84, 100, 1460, 84, 148, 1500, 908, 532, 1500, 524, 836, 100, 580, 84, 148, 100, 148, 100, 148, 100, 1500, 1180, 148, 116, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 908, 1500, 1500, 100, 1500, 700, 1500, 1500, 212, 1500, 108, 148, 1500, 108, 1500, 1500, 1500, 220, 1500, 1500, 164, 596, 596, 148, 100, 1500, 156, 148, 196, 612, 148, 788, 132, 1500, 1500, 468, 84, 148, 148, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1388, 452, 1460, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 956, 100, 1500, 92, 980, 516, 1076, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 892, 516, 484, 1500, 1500, 676, 644, 116, 580, 84, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 92, 1500, 1180, 948, 468, 500, 1236, 500, 1284, 1500, 1084, 500, 1500, 500, 92, 1500, 1388, 964, 1500, 92, 1500, 1500, 1500, 796, 964, 1500, 92, 1500, 1500, 1500, 1500, 1500, 92, 1124, 1500, 92, 1500, 1148, 100, 1500, 1028, 92, 1500, 1500, 1108, 500, 772, 500, 980, 1500, 92, 1500, 1500, 1500, 172, 516, 660, 484, 388, 500, 1500, 92, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 388, 1500, 1500, 132, 500, 420, 500, 756, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 140, 100, 1500, 1500, 1500, 172, 948, 772, 532, 772, 1500, 1500, 276, 500, 1500, 1500, 100, 628, 500, 1500, 500, 92, 1500, 828, 532, 1500, 92, 1500, 1500, 84, 484, 756, 548, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 836, 1500, 268, 980, 388, 1500, 364, 500, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 140, 1500, 1436, 1500, 492, 548, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 140, 1500, 1500, 452, 148, 100, 532, 820, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 580, 1500, 92, 1500, 1500, 1476, 148, 100, 596, 1028, 84, 84, 148, 84, 84, 100, 580, 804, 148, 84, 100, 148, 100, 1108, 84, 1396, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1140, 1500, 92, 1500, 1308, 1500, 92, 1500, 940, 596, 1500, 596, 92, 1500, 1500, 1500, 156, 596, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 84, 148, 100, 148, 100, 1092, 340, 1500, 1500, 740, 180, 116, 148, 100, 564, 340, 164, 500, 84, 1332]
 ,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 1500, 1500, 220, 1500, 92, 1500, 1500, 1364, 148, 100, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 420, 484, 1500, 1500, 1500, 1500, 1412, 1500, 1500, 1500, 140, 100, 1268, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 1364, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 692, 500, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 844, 1500, 100, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1404, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 172, 1500, 652, 468, 1500, 92, 1268, 516, 1012, 148, 100, 948, 1500, 92, 1500, 1500, 692, 500, 1500, 92, 1500, 636, 148, 100, 1476, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 100, 1500, 1500, 1500, 180, 1500, 1500, 1500, 876, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 180, 1500, 700, 964, 1332, 532, 1316, 596, 84, 148, 1492, 100, 148, 100, 1500, 988, 148, 1500, 92, 1500, 1500, 1500, 1356, 1500, 1500, 180, 1252, 148, 100, 996, 484, 148, 84, 1500, 1500, 148, 1500, 380, 1380, 1172, 100, 148, 100, 1428, 1500, 148, 92, 1500, 1500, 596, 1500, 556, 148, 100, 1500, 716, 148, 180, 1500, 1388, 1500, 1500, 564, 1500, 108, 1500, 60, 100, 1500, 172, 148, 116, 1500, 1500, 132, 1500, 1500, 1348, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 132, 1500, 1420, 100, 148, 516, 452, 148, 100, 1500, 156, 148, 196, 564, 100, 148, 788, 132, 1500, 1436, 148, 180, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1004, 100, 1444, 1500, 92, 1500, 1500, 1500, 1100, 1500, 796, 100, 484, 516, 84, 116, 452, 1500, 1500, 1500, 1500, 1500, 1500, 916, 516, 1500, 92, 1500, 1260, 516, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1012, 148, 100, 580, 1108, 148, 84, 1500, 1500, 164, 1500, 108, 1500, 892, 1500, 172, 116, 1500, 1500, 996, 1500, 108, 948, 1500, 940, 1236, 100, 980, 948, 1500, 92, 1500, 860, 964, 1500, 92, 1500, 1500, 1396, 1236, 948, 1500, 92, 1500, 1500, 884, 1500, 204, 980, 1500, 92, 1500, 1500, 1500, 1500, 1500, 684, 964, 772, 148, 1060, 100, 1500, 60, 980, 1500, 1500, 132, 1500, 1500, 612, 932, 388, 500, 388, 500, 420, 500, 756, 500, 772, 532, 772, 500, 1500, 92, 1500, 236, 1500, 1500, 660, 516, 1500, 500, 92, 1500, 924, 484, 1500, 92, 1500, 1500, 84, 548, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 388, 148, 100, 1500, 60, 884, 500, 388, 500, 1500, 364, 532, 148, 868, 1076, 420, 148, 100, 148, 100, 1500, 540, 1500, 492, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 92, 1500, 92, 1500, 1436, 1500, 1500, 1500, 316, 1500, 1500, 1500, 172, 1500, 1500, 932, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1220, 116, 84, 660, 1500, 92, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 92, 100, 148, 100, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 1500, 1172, 1500, 668, 596, 1028, 84, 84, 84, 84, 148, 100, 1060, 756, 836, 116, 84, 548, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 180, 1500, 1500, 452, 148, 100, 148, 100, 1044, 724, 724, 596, 1500, 92, 1500, 1500, 692, 148, 100, 148, 100, 1140, 1500, 92, 1500, 1500, 1500, 1500, 788, 1140, 1500, 92, 1500, 1500, 1500, 156, 596, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 1500, 1500, 188, 1500, 92, 1500, 1500, 1500, 1292, 148, 100, 148, 100, 1092, 628, 1500, 1500, 420, 84, 180, 116, 148, 100, 564, 340, 164, 500, 84, 1332]
 ,[148, 100, 500, 1476, 148, 1476, 1476, 1476, 1500, 1420, 100, 484, 1500, 252, 484, 1500, 268, 148, 100, 468, 1500, 156, 468, 692, 468, 1500, 108, 1500, 1500, 1492, 148, 100, 148, 100, 916, 564, 1500, 764, 468, 1500, 484, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1100, 1500, 652, 484, 1500, 1196, 484, 1500, 484, 620, 1500, 732, 484, 1500, 484, 732, 1500, 484, 860, 484, 852, 484, 1252, 484, 1156, 484, 1380, 484, 1236, 484, 1332, 484, 1284, 484, 980, 484, 1252, 484, 1332, 484, 1492, 500, 740, 500, 1500, 92, 1500, 1500, 1428, 500, 148, 100, 500, 148, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 644, 756, 84, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 204, 100, 1284, 84, 500, 1092, 84, 84, 84, 84, 148, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 172, 1500, 604, 100, 1300, 772, 84, 84, 84, 84, 1500, 92, 1500, 92, 1500, 1500, 132, 916, 500, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 132, 1500, 876, 484, 1172, 1500, 1500, 132, 1500, 1500, 1300, 996, 1476, 1500, 556, 1500, 316, 948, 868, 1500, 332]
 ,[148, 100, 500, 1500, 1404, 1500, 1404, 148, 1500, 1276, 100, 484, 1500, 204, 484, 1500, 220, 148, 100, 468, 1500, 156, 468, 644, 468, 1500, 1500, 1500, 1452, 148, 100, 148, 100, 916, 500, 1500, 764, 468, 1500, 484, 1500, 100, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 1500, 1500, 212, 1500, 1500, 964, 1500, 652, 916, 1500, 92, 1124, 1500, 620, 916, 1500, 700, 1500, 732, 484, 1500, 812, 484, 852, 484, 1252, 484, 1156, 484, 1380, 484, 1236, 484, 1364, 148, 100, 1500, 172, 1284, 484, 980, 484, 1252, 484, 1332, 484, 1500, 108, 804, 964, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 260, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 332, 1500, 1500, 564, 1500, 1500, 212, 1500, 1500, 1500, 588, 1500, 92, 1500, 1500, 1500, 1292, 500, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 916, 500, 1500, 500, 92, 1500, 1500, 1500, 716, 1500, 1500, 132, 1500, 1500, 1364, 484, 1172, 1124, 116, 84, 148, 100, 500, 756, 148, 84, 100, 916, 84, 772, 84, 1060, 84, 1500, 1500, 452, 1500, 300, 948, 1500, 332, 772]]

#print Xtrain
Xtest = [ [148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1316, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 540, 100, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 764, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 172, 1500, 1500, 1500, 876, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1356, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 1276, 516, 1012, 148, 100, 516, 1500, 148, 92, 1500, 1500, 1500, 140, 772, 1412, 1500, 148, 92, 1500, 1500, 1500, 140, 1332, 580, 1500, 76, 84, 1500, 92, 1500, 1500, 692, 964, 820, 1500, 1500, 708, 1060, 84, 1500, 1500, 132, 1500, 1500, 1500, 1228, 1500, 92, 1500, 1500, 1500, 1500, 100, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 396, 1012, 1492, 548, 388, 628, 1060, 1500, 92, 1500, 1500, 1500, 668, 1500, 1500, 132, 100, 500, 1500, 148, 92, 1500, 172, 1500, 1500, 1156, 100, 148, 100, 1500, 60, 148, 1500, 92, 1500, 1500, 1500, 1372, 1500, 492, 100, 148, 100, 1492, 804, 148, 84, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 164, 1500, 108, 1060, 1500, 124, 116, 1500, 1388, 980, 484, 1500, 1500, 308, 1500, 1500, 660, 1028, 84, 1500, 1500, 1460, 1500, 1500, 1500, 92, 1044, 84, 1500, 1500, 132, 1500, 1500, 1500, 1420, 1500, 1500, 1500, 1500, 916, 100, 1060, 1500, 972, 1500, 1500, 1500, 1500, 884, 100, 564, 196, 148, 84, 100, 1476, 1500, 148, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 932, 1500, 1308, 452, 676, 84, 148, 100, 148, 1108, 84, 100, 148, 100, 1500, 1148, 148, 84, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1332, 100, 1500, 60, 532, 1500, 212, 1036, 164, 580, 1500, 148, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1316, 1500, 172, 116, 1500, 1500, 1316, 1500, 1500, 1500, 556, 948, 1500, 116, 940, 1500, 860, 948, 84, 1500, 1276, 1500, 1084, 964, 1500, 92, 1500, 1500, 1500, 1500, 1396, 836, 980, 1500, 92, 1500, 1388, 1500, 1500, 708, 100, 964, 884, 500, 772, 516, 980, 484, 660, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 484, 772, 1500, 1500, 132, 1500, 1500, 548, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 276, 100, 884, 532, 388, 500, 1500, 500, 364, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1484, 1500, 492, 660, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 1500, 132, 516, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 492, 1500, 1500, 164, 1500, 1500, 1364, 1500, 1500, 1500, 1500, 484, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 1044, 1500, 92, 1500, 236, 820, 148, 100, 1076, 756, 884, 116, 84, 548, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 412, 100, 148, 100, 596, 148, 1012, 132, 148, 100, 1108, 84, 148, 724, 772, 580, 804, 84, 84, 84, 84, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1076, 340, 1332, 180, 116, 148, 100, 148, 100, 1092, 628, 148, 1500, 172, 1092, 148, 100, 1268, 116, 436, 1500, 92, 1500, 1500, 1500, 1500, 756, 1140, 1500, 92, 1500, 1500, 1500, 108, 596, 1500, 92, 1500, 1500, 1500, 1420, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1300]
 ,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 132, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 188, 1500, 92, 1500, 172, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 212, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 348, 100, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 300, 148, 100, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 932, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 932, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 1500, 220, 1316, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 788, 468, 1500, 92, 1268, 516, 1012, 148, 100, 516, 1500, 516, 92, 1500, 1500, 1500, 140, 1500, 1500, 356, 1500, 92, 1500, 1500, 1500, 172, 548, 1412, 1500, 500, 1500, 692, 500, 1500, 92, 1500, 92, 1500, 684, 516, 676, 516, 1500, 92, 1500, 1500, 468, 1500, 1500, 180, 1500, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 204, 1332, 548, 1140, 532, 1140, 148, 100, 148, 100, 1500, 572, 388, 1060, 180, 116, 628, 1044, 1500, 92, 1500, 1484, 1500, 1500, 132, 100, 1500, 1500, 132, 500, 1428, 148, 1380, 1500, 428, 1396, 1500, 148, 92, 1500, 1500, 132, 1500, 1500, 356, 100, 1460, 340, 1500, 204, 116, 1500, 908, 1500, 92, 1500, 1500, 132, 532, 1500, 1500, 1500, 1500, 1500, 1500, 1316, 532, 1500, 1500, 276, 500, 1500, 580, 92, 1500, 620, 500, 84, 1500, 1500, 132, 1500, 1500, 1500, 988, 484, 1500, 548, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 100, 148, 884, 148, 100, 1492, 1500, 92, 1500, 1500, 1348, 1500, 1500, 1500, 1500, 772, 964, 1500, 108, 1500, 1500, 164, 1500, 1500, 132, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 1500, 1500, 1172, 1012, 980, 1500, 148, 92, 1500, 780, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 988, 100, 1492, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1276, 1500, 1500, 1500, 1260, 100, 196, 132, 532, 484, 148, 84, 100, 148, 100, 1500, 540, 148, 84, 1284, 148, 516, 132, 148, 100, 1500, 300, 148, 84, 1460, 148, 788, 132, 1500, 636, 148, 116, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1420, 100, 516, 1220, 1500, 796, 180, 1500, 1276, 1500, 1500, 1396, 948, 1500, 92, 1076, 1500, 1500, 1500, 924, 948, 324, 1500, 1500, 452, 1284, 964, 1500, 940, 1500, 92, 1500, 668, 980, 1060, 1500, 92, 1500, 1340, 948, 772, 516, 980, 484, 756, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 532, 772, 500, 388, 1500, 500, 364, 532, 500, 420, 500, 1500, 92, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 284, 1500, 492, 660, 1500, 92, 1500, 92, 148, 100, 564, 1500, 92, 1500, 236, 1500, 1500, 132, 1500, 92, 1500, 92, 148, 100, 580, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 132, 1500, 1500, 1500, 1452, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 132, 100, 1500, 140, 532, 404, 676, 100, 532, 1500, 1180, 148, 100, 628, 820, 852, 116, 84, 532, 756, 148, 100, 596, 1028, 548, 84, 116, 84, 148, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 404, 100, 580, 804, 84, 84, 84, 84, 436, 1332, 148, 100, 148, 100, 1044, 724, 724, 596, 1500, 92, 1500, 1500, 868, 148, 100, 148, 100, 1140, 1500, 92, 1500, 716, 1500, 1500, 1460, 596, 1500, 92, 1500, 1356, 596, 1500, 92, 1460, 596, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1228]
 ,[148, 100, 500, 1476, 1500, 1500, 1428, 148, 1476, 1396, 484, 1500, 204, 484, 1500, 220, 148, 100, 468, 1500, 124, 468, 644, 468, 1500, 108, 1500, 1500, 1412, 148, 100, 148, 100, 916, 1500, 1212, 900, 1500, 92, 1500, 1500, 1500, 1500, 724, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 924, 916, 1500, 620, 1500, 1132, 916, 1500, 92, 692, 1500, 732, 916, 1500, 812, 852, 916, 1156, 484, 1252, 484, 1380, 484, 1236, 484, 1364, 484, 1284, 484, 980, 484, 1252, 484, 1316, 1500, 108, 932, 1500, 92, 1500, 1500, 1500, 844, 980, 1500, 92, 1500, 1500, 1500, 1292, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1004, 1500, 1500, 1500, 1500, 1500, 220, 1500, 100, 1500, 1500, 748, 148, 100, 1500, 204, 148, 1500, 92, 1500, 1500, 132, 1500, 636, 1500, 1500, 1500, 1500, 1476, 100, 932, 1172, 1124, 116, 84, 148, 756, 84, 100, 916, 84, 772, 84, 1060, 84, 1500, 108, 1500, 1500, 1500, 1500, 1284, 948, 1500, 332, 772, 100]
 ,[148, 100, 500, 1476, 1500, 1500, 1380, 148, 1476, 1396, 484, 1500, 236, 484, 1500, 220, 148, 100, 468, 1500, 124, 468, 644, 468, 1500, 108, 1500, 1500, 1396, 148, 100, 148, 100, 916, 500, 1500, 764, 468, 1500, 484, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 964, 1500, 684, 916, 1500, 92, 1500, 1500, 244, 916, 1500, 732, 1500, 700, 916, 852, 1500, 860, 916, 1156, 484, 1252, 484, 1380, 484, 1236, 484, 1364, 484, 1284, 484, 980, 484, 1252, 484, 1332, 1500, 108, 932, 804, 516, 1500, 92, 1500, 1500, 1500, 108, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 276, 516, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1052, 100, 500, 148, 100, 500, 756, 1500, 1500, 164, 1500, 1500, 1268, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 500, 708, 500, 1500, 92, 1500, 1500, 1500, 668, 484, 1500, 92, 1500, 1500, 1500, 1404, 1172, 148, 100, 756, 1092, 84, 84, 148, 84, 84, 100, 852, 772, 84, 84, 84, 84, 996, 1500, 1500, 1500, 1500, 1076, 1500, 268, 948, 1500, 332, 772]]

Ytrain = ['webpage0', 'webpage0', 'webpage1', 'webpage1']
Ytest = ['webpage0', 'webpage0', 'webpage1', 'webpage1']
knn_lcs_obj = KNN_LCS(Xtrain, Xtest, Ytrain, Ytest, neighbors=config.NUM_NEIGHBORS)

#knn_lcs_obj.calcHP_KNN_LCS()
print knn_lcs_obj.getAccuracyDebugInfo()



Xtrain = [ [148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 100, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 788, 100, 100, 1500, 484, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 580, 1300, 500, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 1500, 100, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 1500, 1500, 1500, 1500, 260, 1500, 1500, 1500, 1500, 1500, 252, 884, 532, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 100, 1500, 1500, 1500, 884, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 1500, 1500, 1500, 252, 1500, 92, 1500, 1500, 1364, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 92, 1268, 516, 1012, 148, 100, 948, 1500, 92, 1500, 1500, 692, 500, 1500, 92, 1500, 636, 100, 1076, 676, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 1500, 140, 1500, 1500, 1500, 876, 1500, 1500, 1500, 1500, 212, 1500, 252, 100, 564, 196, 148, 84, 100, 148, 100, 1500, 508, 84, 1500, 972, 1012, 1492, 548, 388, 628, 580, 1028, 84, 1500, 1500, 692, 1500, 572, 1500, 1500, 180, 1156, 500, 1500, 148, 380, 100, 1124, 116, 148, 1500, 92, 1500, 1500, 1500, 1404, 340, 1500, 1500, 292, 148, 1380, 100, 1108, 484, 148, 84, 100, 1460, 84, 148, 1500, 908, 532, 1500, 524, 836, 100, 580, 84, 148, 100, 148, 100, 148, 100, 1500, 1180, 148, 116, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 908, 1500, 1500, 100, 1500, 700, 1500, 1500, 212, 1500, 108, 148, 1500, 108, 1500, 1500, 1500, 220, 1500, 1500, 164, 596, 596, 148, 100, 1500, 156, 148, 196, 612, 148, 788, 132, 1500, 1500, 468, 84, 148, 148, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1388, 452, 1460, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 956, 100, 1500, 92, 980, 516, 1076, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 892, 516, 484, 1500, 1500, 676, 644, 116, 580, 84, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 92, 1500, 1180, 948, 468, 500, 1236, 500, 1284, 1500, 1084, 500, 1500, 500, 92, 1500, 1388, 964, 1500, 92, 1500, 1500, 1500, 796, 964, 1500, 92, 1500, 1500, 1500, 1500, 1500, 92, 1124, 1500, 92, 1500, 1148, 100, 1500, 1028, 92, 1500, 1500, 1108, 500, 772, 500, 980, 1500, 92, 1500, 1500, 1500, 172, 516, 660, 484, 388, 500, 1500, 92, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 388, 1500, 1500, 132, 500, 420, 500, 756, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 140, 100, 1500, 1500, 1500, 172, 948, 772, 532, 772, 1500, 1500, 276, 500, 1500, 1500, 100, 628, 500, 1500, 500, 92, 1500, 828, 532, 1500, 92, 1500, 1500, 84, 484, 756, 548, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 836, 1500, 268, 980, 388, 1500, 364, 500, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 140, 1500, 1436, 1500, 492, 548, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 140, 1500, 1500, 452, 148, 100, 532, 820, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 580, 1500, 92, 1500, 1500, 1476, 148, 100, 596, 1028, 84, 84, 148, 84, 84, 100, 580, 804, 148, 84, 100, 148, 100, 1108, 84, 1396, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1140, 1500, 92, 1500, 1308, 1500, 92, 1500, 940, 596, 1500, 596, 92, 1500, 1500, 1500, 156, 596, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 84, 148, 100, 148, 100, 1092, 340, 1500, 1500, 740, 180, 116, 148, 100, 564, 340, 164, 500, 84, 1332]
 ,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 1500, 1500, 220, 1500, 92, 1500, 1500, 1364, 148, 100, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 420, 484, 1500, 1500, 1500, 1500, 1412, 1500, 1500, 1500, 140, 100, 1268, 1500, 1500, 132, 1500, 92, 1500, 1500, 132, 1500, 1500, 1364, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 692, 500, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 844, 1500, 100, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1404, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 172, 1500, 652, 468, 1500, 92, 1268, 516, 1012, 148, 100, 948, 1500, 92, 1500, 1500, 692, 500, 1500, 92, 1500, 636, 148, 100, 1476, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 100, 1500, 1500, 1500, 180, 1500, 1500, 1500, 876, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 180, 1500, 700, 964, 1332, 532, 1316, 596, 84, 148, 1492, 100, 148, 100, 1500, 988, 148, 1500, 92, 1500, 1500, 1500, 1356, 1500, 1500, 180, 1252, 148, 100, 996, 484, 148, 84, 1500, 1500, 148, 1500, 380, 1380, 1172, 100, 148, 100, 1428, 1500, 148, 92, 1500, 1500, 596, 1500, 556, 148, 100, 1500, 716, 148, 180, 1500, 1388, 1500, 1500, 564, 1500, 108, 1500, 60, 100, 1500, 172, 148, 116, 1500, 1500, 132, 1500, 1500, 1348, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 132, 1500, 1420, 100, 148, 516, 452, 148, 100, 1500, 156, 148, 196, 564, 100, 148, 788, 132, 1500, 1436, 148, 180, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1004, 100, 1444, 1500, 92, 1500, 1500, 1500, 1100, 1500, 796, 100, 484, 516, 84, 116, 452, 1500, 1500, 1500, 1500, 1500, 1500, 916, 516, 1500, 92, 1500, 1260, 516, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1012, 148, 100, 580, 1108, 148, 84, 1500, 1500, 164, 1500, 108, 1500, 892, 1500, 172, 116, 1500, 1500, 996, 1500, 108, 948, 1500, 940, 1236, 100, 980, 948, 1500, 92, 1500, 860, 964, 1500, 92, 1500, 1500, 1396, 1236, 948, 1500, 92, 1500, 1500, 884, 1500, 204, 980, 1500, 92, 1500, 1500, 1500, 1500, 1500, 684, 964, 772, 148, 1060, 100, 1500, 60, 980, 1500, 1500, 132, 1500, 1500, 612, 932, 388, 500, 388, 500, 420, 500, 756, 500, 772, 532, 772, 500, 1500, 92, 1500, 236, 1500, 1500, 660, 516, 1500, 500, 92, 1500, 924, 484, 1500, 92, 1500, 1500, 84, 548, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 388, 148, 100, 1500, 60, 884, 500, 388, 500, 1500, 364, 532, 148, 868, 1076, 420, 148, 100, 148, 100, 1500, 540, 1500, 492, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 92, 1500, 92, 1500, 1436, 1500, 1500, 1500, 316, 1500, 1500, 1500, 172, 1500, 1500, 932, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1220, 116, 84, 660, 1500, 92, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 92, 100, 148, 100, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 1500, 1172, 1500, 668, 596, 1028, 84, 84, 84, 84, 148, 100, 1060, 756, 836, 116, 84, 548, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 180, 1500, 1500, 452, 148, 100, 148, 100, 1044, 724, 724, 596, 1500, 92, 1500, 1500, 692, 148, 100, 148, 100, 1140, 1500, 92, 1500, 1500, 1500, 1500, 788, 1140, 1500, 92, 1500, 1500, 1500, 156, 596, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 1500, 1500, 188, 1500, 92, 1500, 1500, 1500, 1292, 148, 100, 148, 100, 1092, 628, 1500, 1500, 420, 84, 180, 116, 148, 100, 564, 340, 164, 500, 84, 1332]
 ,[148, 100, 500, 1476, 148, 1476, 1476, 1476, 1500, 1420, 100, 484, 1500, 252, 484, 1500, 268, 148, 100, 468, 1500, 156, 468, 692, 468, 1500, 108, 1500, 1500, 1492, 148, 100, 148, 100, 916, 564, 1500, 764, 468, 1500, 484, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1100, 1500, 652, 484, 1500, 1196, 484, 1500, 484, 620, 1500, 732, 484, 1500, 484, 732, 1500, 484, 860, 484, 852, 484, 1252, 484, 1156, 484, 1380, 484, 1236, 484, 1332, 484, 1284, 484, 980, 484, 1252, 484, 1332, 484, 1492, 500, 740, 500, 1500, 92, 1500, 1500, 1428, 500, 148, 100, 500, 148, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 644, 756, 84, 1500, 92, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 204, 100, 1284, 84, 500, 1092, 84, 84, 84, 84, 148, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 172, 1500, 604, 100, 1300, 772, 84, 84, 84, 84, 1500, 92, 1500, 92, 1500, 1500, 132, 916, 500, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 132, 1500, 876, 484, 1172, 1500, 1500, 132, 1500, 1500, 1300, 996, 1476, 1500, 556, 1500, 316, 948, 868, 1500, 332]
 ,[148, 100, 500, 1500, 1404, 1500, 1404, 148, 1500, 1276, 100, 484, 1500, 204, 484, 1500, 220, 148, 100, 468, 1500, 156, 468, 644, 468, 1500, 1500, 1500, 1452, 148, 100, 148, 100, 916, 500, 1500, 764, 468, 1500, 484, 1500, 100, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 1500, 1500, 212, 1500, 1500, 964, 1500, 652, 916, 1500, 92, 1124, 1500, 620, 916, 1500, 700, 1500, 732, 484, 1500, 812, 484, 852, 484, 1252, 484, 1156, 484, 1380, 484, 1236, 484, 1364, 148, 100, 1500, 172, 1284, 484, 980, 484, 1252, 484, 1332, 484, 1500, 108, 804, 964, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 260, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 332, 1500, 1500, 564, 1500, 1500, 212, 1500, 1500, 1500, 588, 1500, 92, 1500, 1500, 1500, 1292, 500, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 916, 500, 1500, 500, 92, 1500, 1500, 1500, 716, 1500, 1500, 132, 1500, 1500, 1364, 484, 1172, 1124, 116, 84, 148, 100, 500, 756, 148, 84, 100, 916, 84, 772, 84, 1060, 84, 1500, 1500, 452, 1500, 300, 948, 1500, 332, 772]
,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1316, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 540, 100, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 764, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 172, 1500, 1500, 1500, 876, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1356, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 1276, 516, 1012, 148, 100, 516, 1500, 148, 92, 1500, 1500, 1500, 140, 772, 1412, 1500, 148, 92, 1500, 1500, 1500, 140, 1332, 580, 1500, 76, 84, 1500, 92, 1500, 1500, 692, 964, 820, 1500, 1500, 708, 1060, 84, 1500, 1500, 132, 1500, 1500, 1500, 1228, 1500, 92, 1500, 1500, 1500, 1500, 100, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 396, 1012, 1492, 548, 388, 628, 1060, 1500, 92, 1500, 1500, 1500, 668, 1500, 1500, 132, 100, 500, 1500, 148, 92, 1500, 172, 1500, 1500, 1156, 100, 148, 100, 1500, 60, 148, 1500, 92, 1500, 1500, 1500, 1372, 1500, 492, 100, 148, 100, 1492, 804, 148, 84, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 164, 1500, 108, 1060, 1500, 124, 116, 1500, 1388, 980, 484, 1500, 1500, 308, 1500, 1500, 660, 1028, 84, 1500, 1500, 1460, 1500, 1500, 1500, 92, 1044, 84, 1500, 1500, 132, 1500, 1500, 1500, 1420, 1500, 1500, 1500, 1500, 916, 100, 1060, 1500, 972, 1500, 1500, 1500, 1500, 884, 100, 564, 196, 148, 84, 100, 1476, 1500, 148, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 932, 1500, 1308, 452, 676, 84, 148, 100, 148, 1108, 84, 100, 148, 100, 1500, 1148, 148, 84, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1332, 100, 1500, 60, 532, 1500, 212, 1036, 164, 580, 1500, 148, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1316, 1500, 172, 116, 1500, 1500, 1316, 1500, 1500, 1500, 556, 948, 1500, 116, 940, 1500, 860, 948, 84, 1500, 1276, 1500, 1084, 964, 1500, 92, 1500, 1500, 1500, 1500, 1396, 836, 980, 1500, 92, 1500, 1388, 1500, 1500, 708, 100, 964, 884, 500, 772, 516, 980, 484, 660, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 484, 772, 1500, 1500, 132, 1500, 1500, 548, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 276, 100, 884, 532, 388, 500, 1500, 500, 364, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1484, 1500, 492, 660, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 1500, 132, 516, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 492, 1500, 1500, 164, 1500, 1500, 1364, 1500, 1500, 1500, 1500, 484, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 1044, 1500, 92, 1500, 236, 820, 148, 100, 1076, 756, 884, 116, 84, 548, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 412, 100, 148, 100, 596, 148, 1012, 132, 148, 100, 1108, 84, 148, 724, 772, 580, 804, 84, 84, 84, 84, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1076, 340, 1332, 180, 116, 148, 100, 148, 100, 1092, 628, 148, 1500, 172, 1092, 148, 100, 1268, 116, 436, 1500, 92, 1500, 1500, 1500, 1500, 756, 1140, 1500, 92, 1500, 1500, 1500, 108, 596, 1500, 92, 1500, 1500, 1500, 1420, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1300]
 ,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1316, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 540, 100, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 764, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 172, 1500, 1500, 1500, 876, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1356, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 1276, 516, 1012, 148, 100, 516, 1500, 148, 92, 1500, 1500, 1500, 140, 772, 1412, 1500, 148, 92, 1500, 1500, 1500, 140, 1332, 580, 1500, 76, 84, 1500, 92, 1500, 1500, 692, 964, 820, 1500, 1500, 708, 1060, 84, 1500, 1500, 132, 1500, 1500, 1500, 1228, 1500, 92, 1500, 1500, 1500, 1500, 100, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 396, 1012, 1492, 548, 388, 628, 1060, 1500, 92, 1500, 1500, 1500, 668, 1500, 1500, 132, 100, 500, 1500, 148, 92, 1500, 172, 1500, 1500, 1156, 100, 148, 100, 1500, 60, 148, 1500, 92, 1500, 1500, 1500, 1372, 1500, 492, 100, 148, 100, 1492, 804, 148, 84, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 164, 1500, 108, 1060, 1500, 124, 116, 1500, 1388, 980, 484, 1500, 1500, 308, 1500, 1500, 660, 1028, 84, 1500, 1500, 1460, 1500, 1500, 1500, 92, 1044, 84, 1500, 1500, 132, 1500, 1500, 1500, 1420, 1500, 1500, 1500, 1500, 916, 100, 1060, 1500, 972, 1500, 1500, 1500, 1500, 884, 100, 564, 196, 148, 84, 100, 1476, 1500, 148, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 932, 1500, 1308, 452, 676, 84, 148, 100, 148, 1108, 84, 100, 148, 100, 1500, 1148, 148, 84, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1332, 100, 1500, 60, 532, 1500, 212, 1036, 164, 580, 1500, 148, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1316, 1500, 172, 116, 1500, 1500, 1316, 1500, 1500, 1500, 556, 948, 1500, 116, 940, 1500, 860, 948, 84, 1500, 1276, 1500, 1084, 964, 1500, 92, 1500, 1500, 1500, 1500, 1396, 836, 980, 1500, 92, 1500, 1388, 1500, 1500, 708, 100, 964, 884, 500, 772, 516, 980, 484, 660, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 484, 772, 1500, 1500, 132, 1500, 1500, 548, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 276, 100, 884, 532, 388, 500, 1500, 500, 364, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1484, 1500, 492, 660, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 1500, 132, 516, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 492, 1500, 1500, 164, 1500, 1500, 1364, 1500, 1500, 1500, 1500, 484, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 1044, 1500, 92, 1500, 236, 820, 148, 100, 1076, 756, 884, 116, 84, 548, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 412, 100, 148, 100, 596, 148, 1012, 132, 148, 100, 1108, 84, 148, 724, 772, 580, 804, 84, 84, 84, 84, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1076, 340, 1332, 180, 116, 148, 100, 148, 100, 1092, 628, 148, 1500, 172, 1092, 148, 100, 1268, 116, 436, 1500, 92, 1500, 1500, 1500, 1500, 756, 1140, 1500, 92, 1500, 1500, 1500, 108, 596, 1500, 92, 1500, 1500, 1500, 1420, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500]
 ,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1316, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 540, 100, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 764, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 172, 1500, 1500, 1500, 876, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1356, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 1276, 516, 1012, 148, 100, 516, 1500, 148, 92, 1500, 1500, 1500, 140, 772, 1412, 1500, 148, 92, 1500, 1500, 1500, 140, 1332, 580, 1500, 76, 84, 1500, 92, 1500, 1500, 692, 964, 820, 1500, 1500, 708, 1060, 84, 1500, 1500, 132, 1500, 1500, 1500, 1228, 1500, 92, 1500, 1500, 1500, 1500, 100, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 396, 1012, 1492, 548, 388, 628, 1060, 1500, 92, 1500, 1500, 1500, 668, 1500, 1500, 132, 100, 500, 1500, 148, 92, 1500, 172, 1500, 1500, 1156, 100, 148, 100, 1500, 60, 148, 1500, 92, 1500, 1500, 1500, 1372, 1500, 492, 100, 148, 100, 1492, 804, 148, 84, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 164, 1500, 108, 1060, 1500, 124, 116, 1500, 1388, 980, 484, 1500, 1500, 308, 1500, 1500, 660, 1028, 84, 1500, 1500, 1460, 1500, 1500, 1500, 92, 1044, 84, 1500, 1500, 132, 1500, 1500, 1500, 1420, 1500, 1500, 1500, 1500, 916, 100, 1060, 1500, 972, 1500, 1500, 1500, 1500, 884, 100, 564, 196, 148, 84, 100, 1476, 1500, 148, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 932, 1500, 1308, 452, 676, 84, 148, 100, 148, 1108, 84, 100, 148, 100, 1500, 1148, 148, 84, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1332, 100, 1500, 60, 532, 1500, 212, 1036, 164, 580, 1500, 148, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1316, 1500, 172, 116, 1500, 1500, 1316, 1500, 1500, 1500, 556, 948, 1500, 116, 940, 1500, 860, 948, 84, 1500, 1276, 1500, 1084, 964, 1500, 92, 1500, 1500, 1500, 1500, 1396, 836, 980, 1500, 92, 1500, 1388, 1500, 1500, 708, 100, 964, 884, 500, 772, 516, 980, 484, 660, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 484, 772, 1500, 1500, 132, 1500, 1500, 548, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 276, 100, 884, 532, 388, 500, 1500, 500, 364, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1484, 1500, 492, 660, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 1500, 132, 516, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 492, 1500, 1500, 164, 1500, 1500, 1364, 1500, 1500, 1500, 1500, 484, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 1044, 1500, 92, 1500, 236, 820, 148, 100, 1076, 756, 884, 116, 84, 548, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 412, 100, 148, 100, 596, 148, 1012, 132, 148, 100, 1108, 84, 148, 724, 772, 580, 804, 84, 84, 84, 84, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1076, 340, 1332, 180, 116, 148, 100, 148, 100, 1092, 628, 148, 1500, 172, 1092, 148, 100, 1268, 116, 436, 1500, 92, 1500, 1500, 1500, 1500, 756, 1140, 1500, 92, 1500, 1500, 1500, 108, 596, 1500, 92, 1500, 1500, 1500, 1420, 1500, 92, 1500, 1500]
 ,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1316, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 540, 100, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 764, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 172, 1500, 1500, 1500, 876, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1356, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 1276, 516, 1012, 148, 100, 516, 1500, 148, 92, 1500, 1500, 1500, 140, 772, 1412, 1500, 148, 92, 1500, 1500, 1500, 140, 1332, 580, 1500, 76, 84, 1500, 92, 1500, 1500, 692, 964, 820, 1500, 1500, 708, 1060, 84, 1500, 1500, 132, 1500, 1500, 1500, 1228, 1500, 92, 1500, 1500, 1500, 1500, 100, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 396, 1012, 1492, 548, 388, 628, 1060, 1500, 92, 1500, 1500, 1500, 668, 1500, 1500, 132, 100, 500, 1500, 148, 92, 1500, 172, 1500, 1500, 1156, 100, 148, 100, 1500, 60, 148, 1500, 92, 1500, 1500, 1500, 1372, 1500, 492, 100, 148, 100, 1492, 804, 148, 84, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 164, 1500, 108, 1060, 1500, 124, 116, 1500, 1388, 980, 484, 1500, 1500, 308, 1500, 1500, 660, 1028, 84, 1500, 1500, 1460, 1500, 1500, 1500, 92, 1044, 84, 1500, 1500, 132, 1500, 1500, 1500, 1420, 1500, 1500, 1500, 1500, 916, 100, 1060, 1500, 972, 1500, 1500, 1500, 1500, 884, 100, 564, 196, 148, 84, 100, 1476, 1500, 148, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 932, 1500, 1308, 452, 676, 84, 148, 100, 148, 1108, 84, 100, 148, 100, 1500, 1148, 148, 84, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1332, 100, 1500, 60, 532, 1500, 212, 1036, 164, 580, 1500, 148, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1316, 1500, 172, 116, 1500, 1500, 1316, 1500, 1500, 1500, 556, 948, 1500, 116, 940, 1500, 860, 948, 84, 1500, 1276, 1500, 1084, 964, 1500, 92, 1500, 1500, 1500, 1500, 1396, 836, 980, 1500, 92, 1500, 1388, 1500, 1500, 708, 100, 964, 884, 500, 772, 516, 980, 484, 660, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 484, 772, 1500, 1500, 132, 1500, 1500, 548, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 276, 100, 884, 532, 388, 500, 1500, 500, 364, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1484, 1500, 492, 660, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 1500, 132, 516, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 492, 1500, 1500, 164, 1500, 1500, 1364, 1500, 1500, 1500, 1500, 484, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 1044, 1500, 92, 1500, 236, 820, 148, 100, 1076, 756, 884, 116, 84, 548, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 412, 100, 148, 100, 596, 148, 1012, 132, 148, 100, 1108, 84, 148, 724, 772, 580, 804, 84, 84, 84, 84, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1076, 340, 1332, 180, 116, 148, 100, 148, 100, 1092, 628, 148, 1500, 172, 1092, 148, 100, 1268, 116, 436, 1500, 92, 1500, 1500, 1500, 1500, 756, 1140, 1500, 92, 1500, 1500, 1500, 108, 596, 1500, 92, 1500, 1500, 1500, 1420, 1500, 92, 1500, 1500]]

#print Xtrain
Xtest = [ [148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 148, 1500, 1500, 1500, 1500, 180, 132, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1500, 172, 1500, 1500, 1500, 1500, 132, 1500, 1500, 1316, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 540, 100, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 764, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 924, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 172, 1500, 1500, 1500, 876, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1356, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 772, 468, 1500, 1276, 516, 1012, 148, 100, 516, 1500, 148, 92, 1500, 1500, 1500, 140, 772, 1412, 1500, 148, 92, 1500, 1500, 1500, 140, 1332, 580, 1500, 76, 84, 1500, 92, 1500, 1500, 692, 964, 820, 1500, 1500, 708, 1060, 84, 1500, 1500, 132, 1500, 1500, 1500, 1228, 1500, 92, 1500, 1500, 1500, 1500, 100, 1500, 220, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 396, 1012, 1492, 548, 388, 628, 1060, 1500, 92, 1500, 1500, 1500, 668, 1500, 1500, 132, 100, 500, 1500, 148, 92, 1500, 172, 1500, 1500, 1156, 100, 148, 100, 1500, 60, 148, 1500, 92, 1500, 1500, 1500, 1372, 1500, 492, 100, 148, 100, 1492, 804, 148, 84, 1500, 1500, 1500, 140, 1500, 652, 1500, 1500, 164, 1500, 108, 1060, 1500, 124, 116, 1500, 1388, 980, 484, 1500, 1500, 308, 1500, 1500, 660, 1028, 84, 1500, 1500, 1460, 1500, 1500, 1500, 92, 1044, 84, 1500, 1500, 132, 1500, 1500, 1500, 1420, 1500, 1500, 1500, 1500, 916, 100, 1060, 1500, 972, 1500, 1500, 1500, 1500, 884, 100, 564, 196, 148, 84, 100, 1476, 1500, 148, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 932, 1500, 1308, 452, 676, 84, 148, 100, 148, 1108, 84, 100, 148, 100, 1500, 1148, 148, 84, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1332, 100, 1500, 60, 532, 1500, 212, 1036, 164, 580, 1500, 148, 92, 1500, 1500, 1500, 172, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 172, 1500, 1500, 1316, 1500, 172, 116, 1500, 1500, 1316, 1500, 1500, 1500, 556, 948, 1500, 116, 940, 1500, 860, 948, 84, 1500, 1276, 1500, 1084, 964, 1500, 92, 1500, 1500, 1500, 1500, 1396, 836, 980, 1500, 92, 1500, 1388, 1500, 1500, 708, 100, 964, 884, 500, 772, 516, 980, 484, 660, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 484, 772, 1500, 1500, 132, 1500, 1500, 548, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 276, 100, 884, 532, 388, 500, 1500, 500, 364, 532, 500, 420, 500, 1500, 500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1484, 1500, 492, 660, 1500, 92, 1500, 92, 1500, 92, 1500, 92, 1500, 1500, 132, 516, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 132, 1500, 92, 1500, 1500, 1500, 1500, 1500, 492, 1500, 1500, 164, 1500, 1500, 1364, 1500, 1500, 1500, 1500, 484, 148, 100, 628, 820, 84, 84, 84, 84, 148, 100, 1044, 1500, 92, 1500, 236, 820, 148, 100, 1076, 756, 884, 116, 84, 548, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 412, 100, 148, 100, 596, 148, 1012, 132, 148, 100, 1108, 84, 148, 724, 772, 580, 804, 84, 84, 84, 84, 596, 1500, 92, 1500, 1500, 740, 148, 100, 148, 100, 1076, 340, 1332, 180, 116, 148, 100, 148, 100, 1092, 628, 148, 1500, 172, 1092, 148, 100, 1268, 116, 436, 1500, 92, 1500, 1500, 1500, 1500, 756, 1140, 1500, 92, 1500, 1500, 1500, 108, 596, 1500, 92, 1500, 1500, 1500, 1420, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1300]
 ,[148, 100, 516, 1500, 92, 1500, 92, 1500, 1500, 132, 1500, 1500, 100, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 188, 1500, 92, 1500, 172, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 212, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 348, 100, 1500, 92, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 300, 148, 100, 484, 1268, 500, 1500, 92, 1500, 1500, 1500, 172, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 236, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 932, 532, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1500, 932, 1500, 1500, 100, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 1500, 1500, 1500, 220, 1316, 532, 1500, 92, 1500, 1500, 996, 484, 1500, 972, 484, 1500, 380, 468, 1500, 92, 1500, 1500, 1500, 1500, 788, 468, 1500, 92, 1268, 516, 1012, 148, 100, 516, 1500, 516, 92, 1500, 1500, 1500, 140, 1500, 1500, 356, 1500, 92, 1500, 1500, 1500, 172, 548, 1412, 1500, 500, 1500, 692, 500, 1500, 92, 1500, 92, 1500, 684, 516, 676, 516, 1500, 92, 1500, 1500, 468, 1500, 1500, 180, 1500, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 204, 1332, 548, 1140, 532, 1140, 148, 100, 148, 100, 1500, 572, 388, 1060, 180, 116, 628, 1044, 1500, 92, 1500, 1484, 1500, 1500, 132, 100, 1500, 1500, 132, 500, 1428, 148, 1380, 1500, 428, 1396, 1500, 148, 92, 1500, 1500, 132, 1500, 1500, 356, 100, 1460, 340, 1500, 204, 116, 1500, 908, 1500, 92, 1500, 1500, 132, 532, 1500, 1500, 1500, 1500, 1500, 1500, 1316, 532, 1500, 1500, 276, 500, 1500, 580, 92, 1500, 620, 500, 84, 1500, 1500, 132, 1500, 1500, 1500, 988, 484, 1500, 548, 92, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 188, 1500, 1500, 100, 148, 884, 148, 100, 1492, 1500, 92, 1500, 1500, 1348, 1500, 1500, 1500, 1500, 772, 964, 1500, 108, 1500, 1500, 164, 1500, 1500, 132, 1500, 1500, 1500, 1500, 212, 1500, 1500, 1500, 1500, 1500, 252, 1500, 1500, 1500, 1500, 1172, 1012, 980, 1500, 148, 92, 1500, 780, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 988, 100, 1492, 1500, 148, 92, 1500, 1500, 1500, 1500, 1500, 1276, 1500, 1500, 1500, 1260, 100, 196, 132, 532, 484, 148, 84, 100, 148, 100, 1500, 540, 148, 84, 1284, 148, 516, 132, 148, 100, 1500, 300, 148, 84, 1460, 148, 788, 132, 1500, 636, 148, 116, 1500, 1500, 100, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1420, 100, 516, 1220, 1500, 796, 180, 1500, 1276, 1500, 1500, 1396, 948, 1500, 92, 1076, 1500, 1500, 1500, 924, 948, 324, 1500, 1500, 452, 1284, 964, 1500, 940, 1500, 92, 1500, 668, 980, 1060, 1500, 92, 1500, 1340, 948, 772, 516, 980, 484, 756, 500, 388, 500, 388, 500, 420, 500, 756, 500, 772, 532, 772, 500, 388, 1500, 500, 364, 532, 500, 420, 500, 1500, 92, 500, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 284, 1500, 492, 660, 1500, 92, 1500, 92, 148, 100, 564, 1500, 92, 1500, 236, 1500, 1500, 132, 1500, 92, 1500, 92, 148, 100, 580, 1500, 92, 1500, 1500, 1500, 1500, 212, 1500, 1500, 132, 1500, 1500, 1500, 1452, 1500, 92, 1500, 1500, 132, 1500, 1500, 1500, 140, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 1500, 132, 100, 1500, 140, 532, 404, 676, 100, 532, 1500, 1180, 148, 100, 628, 820, 852, 116, 84, 532, 756, 148, 100, 596, 1028, 548, 84, 116, 84, 148, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 404, 100, 580, 804, 84, 84, 84, 84, 436, 1332, 148, 100, 148, 100, 1044, 724, 724, 596, 1500, 92, 1500, 1500, 868, 148, 100, 148, 100, 1140, 1500, 92, 1500, 716, 1500, 1500, 1460, 596, 1500, 92, 1500, 1356, 596, 1500, 92, 1460, 596, 1500, 92, 1500, 1500, 1500, 140, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 1500, 1500, 1500, 1228]
 ,[148, 100, 500, 1476, 1500, 1500, 1428, 148, 1476, 1396, 484, 1500, 204, 484, 1500, 220, 148, 100, 468, 1500, 124, 468, 644, 468, 1500, 108, 1500, 1500, 1412, 148, 100, 148, 100, 916, 1500, 1212, 900, 1500, 92, 1500, 1500, 1500, 1500, 724, 1500, 1500, 132, 1500, 1500, 1500, 1500, 180, 1500, 92, 1500, 924, 916, 1500, 620, 1500, 1132, 916, 1500, 92, 692, 1500, 732, 916, 1500, 812, 852, 916, 1156, 484, 1252, 484, 1380, 484, 1236, 484, 1364, 484, 1284, 484, 980, 484, 1252, 484, 1316, 1500, 108, 932, 1500, 92, 1500, 1500, 1500, 844, 980, 1500, 92, 1500, 1500, 1500, 1292, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1004, 1500, 1500, 1500, 1500, 1500, 220, 1500, 100, 1500, 1500, 748, 148, 100, 1500, 204, 148, 1500, 92, 1500, 1500, 132, 1500, 636, 1500, 1500, 1500, 1500, 1476, 100, 932, 1172, 1124, 116, 84, 148, 756, 84, 100, 916, 84, 772, 84, 1060, 84, 1500, 108, 1500, 1500, 1500, 1500, 1284, 948, 1500, 332, 772, 100]
 ,[148, 100, 500, 1476, 1500, 1500, 1380, 148, 1476, 1396, 484, 1500, 236, 484, 1500, 220, 148, 100, 468, 1500, 124, 468, 644, 468, 1500, 108, 1500, 1500, 1396, 148, 100, 148, 100, 916, 500, 1500, 764, 468, 1500, 484, 92, 1500, 1500, 1500, 140, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 964, 1500, 684, 916, 1500, 92, 1500, 1500, 244, 916, 1500, 732, 1500, 700, 916, 852, 1500, 860, 916, 1156, 484, 1252, 484, 1380, 484, 1236, 484, 1364, 484, 1284, 484, 980, 484, 1252, 484, 1332, 1500, 108, 932, 804, 516, 1500, 92, 1500, 1500, 1500, 108, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 276, 516, 1500, 1500, 132, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 268, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1500, 180, 1500, 1500, 1500, 1500, 1500, 1500, 228, 1500, 1500, 1500, 1052, 100, 500, 148, 100, 500, 756, 1500, 1500, 164, 1500, 1500, 1268, 1500, 92, 1500, 1500, 1500, 1500, 1500, 220, 1500, 1500, 500, 708, 500, 1500, 92, 1500, 1500, 1500, 668, 484, 1500, 92, 1500, 1500, 1500, 1404, 1172, 148, 100, 756, 1092, 84, 84, 148, 84, 84, 100, 852, 772, 84, 84, 84, 84, 996, 1500, 1500, 1500, 1500, 1076, 1500, 268, 948, 1500, 332, 772]
 ]

Ytrain = ['webpage0', 'webpage0', 'webpage1', 'webpage1', 'webpage0', 'webpage1', 'webpage1', 'webpage0']
Ytest = ['webpage0', 'webpage0', 'webpage1', 'webpage1']
knn_lcs_obj = KNN_LCS(Xtrain, Xtest, Ytrain, Ytest, neighbors=config.NUM_NEIGHBORS)

#knn_lcs_obj.calcHP_KNN_LCS()
print knn_lcs_obj.getAccuracyDebugInfo()
'''